﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;

using PMServiceDesk.BusinessLogic;
using PMServiceDesk.DataType;
using PMServiceDesk.Utils.Interfaz;
using PMServiceDesk.Parameters.Constantes;
using PMServiceDesk.Web.AppCode;

namespace PMServiceDesk.Web.Forms.Configuracion
{
    public partial class RegistrarProyecto : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack) return;

            this.PrepareForm();

            this.InitForm();

            txtNombre.Focus();
        }

        protected void PrepareForm()
        {
            InterfazUtils.LoadDropDownList(ddlOrigen, SoporteLogic.ParametrosPorDominio(Dominios.OrigenProyecto, "1"), DatosControl.SeleccionarItem);
            InterfazUtils.LoadDropDownList(ddlMoneda, SoporteLogic.ParametrosPorDominio(Dominios.Moneda, "1"), DatosControl.SeleccionarItem);
            InterfazUtils.LoadDropDownList(ddlJefeProyecto, SoporteLogic.JefesProyecto(), DatosControl.SeleccionarItem);
            InterfazUtils.LoadDropDownList(ddlEstado, SoporteLogic.EstadosPorTabla(Tablas.Proyecto, "1"), DatosControl.SeleccionarItem);
        }

        protected void InitForm()
        {
            string id = Request["ID"];

            if (id == null) return;

            ProyectoLogic logic = new ProyectoLogic();

            ProyectoType proyecto = logic.CargarPorId(id);

            if (proyecto == null) return;

            hiddenId.Value = proyecto.Id;
            txtNombre.Text = proyecto.Nombre;

            ddlOrigen.SelectedValue = proyecto.OrigenId;
            ddlMoneda.SelectedValue = proyecto.MonedaId;
            ddlJefeProyecto.SelectedValue = proyecto.UsuarioJefeProyectoId;
            ddlEstado.SelectedValue = proyecto.EstadoId;

            lblFechaInicioEstimado.Text = proyecto.FechaInicioEstimado;
            lblFechaFinEstimado.Text = proyecto.FechaFinEstimado;
            lblFechaInicioReal.Text = proyecto.FechaInicioReal;
            lblFechaFinReal.Text = proyecto.FechaFinReal;
        }

        [WebMethod]
        public static ProyectoType Grabar(ProyectoType registro)
        {
            return ProyectoIU.Grabar(registro);
        }
    }
}